iT邦幫忙

2022 iThome 鐵人賽

DAY 8
1
自我挑戰組

經營資訊社群之雜談系列 第 8

宇宙秩序: 成員加入驗證(三)

  • 分享至 

  • xImage
  •  

今天要來介紹如何透過 Form Code Generator 做出電子信箱驗證表單。
在這裡,會使用兩個表單,一個為發送驗證密碼的表單A,和進行電子信箱持有驗證的表單B。

Google 表單設定流程(表單A)

到 Google 表單的更多選項 -> 外掛程式並安裝 Form Code Generator,安裝完後點選外掛程式 -> Form Code Generator -> Configure generator,會看到以下畫面

https://ithelp.ithome.com.tw/upload/images/20220923/20152714ERKFd3PqXs.jpg
圖一:Form Code Generator 設定畫面

Salt:在做雜湊前加入該欄位的字串,可以提高安全性。但在這裡是為了識別是否是從此表單生成的密碼,因為可能會有人再裝相同的外掛程式,或是取得該外掛的 MD5 來生成密碼。
Code Length:設定生成密碼的長度。
第二個灰色區域:設定電子信箱取得的欄位,以及用以發送驗證密碼的主旨(subject)及內容(body)。

Google 試算表設定流程(表單B)

在 Google 表單寄送驗證密碼後,需要在驗證表單確認填寫的信箱對應的密碼是否與填寫的驗證密碼相符,若相符則代表該電子信箱持有者為表單填寫本人。

  1. http://codegen.alvinwan.com/ 複製下列的程式碼
function MD5 (input) {
  var rawHash = Utilities.computeDigest(Utilities.DigestAlgorithm.MD5, input);
  var txtHash = '';
  for (i = 0; i < rawHash.length; i++) {
    var hashVal = rawHash[i];
    if (hashVal < 0) {
      hashVal += 256;
    }
    if (hashVal.toString(16).length == 1) {
      txtHash += '0';
    }
    txtHash += hashVal.toString(16);
  }
  return txtHash;
}
  1. 至 Google 試算表上方的擴充功能 -> Apps Script,貼上第一步的程式碼,並點選儲存。
  2. 在試算表欲求得電子信箱對應密碼欄位輸入=MD5(CONCAT(在表單A輸入的電子信箱,CONCAT( 在表單A輸入的Salt,"dEstr0yR@1nB0wTAb1es")))

而如果還要人工比對 32 位的驗證密碼是否相符,及核對電子信箱是否為資工系的電子信箱實在太累了,因此明天將介紹如何利用 Google 試算表的公式達到自動驗證。


上一篇
宇宙秩序: 成員加入驗證(二)
下一篇
宇宙秩序: 成員加入驗證(四)
系列文
經營資訊社群之雜談12
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言